"""
RSI分析工具配置文件
"""

import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

# 币安API配置（可选，用于更高的请求限制）
BINANCE_API_KEY = os.getenv('BINANCE_API_KEY', '')
BINANCE_SECRET_KEY = os.getenv('BINANCE_SECRET_KEY', '')

# 分析参数配置
class AnalysisConfig:
    """分析参数配置类"""
    
    # RSI参数
    DEFAULT_RSI_PERIOD = 10          # 默认RSI计算周期
    DEFAULT_OVERSOLD_THRESHOLD = 30  # 默认超卖阈值
    DEFAULT_OVERBOUGHT_THRESHOLD = 70 # 默认超买阈值
    
    # 数据获取参数
    DEFAULT_INTERVAL = '1h'          # 默认K线间隔
    DEFAULT_ANALYSIS_DAYS = 30       # 默认分析天数
    MAX_ANALYSIS_DAYS = 365          # 最大分析天数
    
    # 可视化参数
    FIGURE_SIZE = (15, 10)           # 图表尺寸
    DPI = 300                        # 图表分辨率
    
    # 支持的K线间隔
    SUPPORTED_INTERVALS = [
        '1m', '3m', '5m', '15m', '30m',
        '1h', '2h', '4h', '6h', '8h', '12h',
        '1d', '3d', '1w', '1M'
    ]
    
    # 热门交易对
    POPULAR_SYMBOLS = [
        'BTCUSDT', 'ETHUSDT', 'BNBUSDT', 'XRPUSDT', 'ADAUSDT',
        'SOLUSDT', 'DOGEUSDT', 'DOTUSDT', 'MATICUSDT', 'LTCUSDT',
        'AVAXUSDT', 'UNIUSDT', 'LINKUSDT', 'ATOMUSDT', 'ETCUSDT',
        'XLMUSDT', 'BCHUSDT', 'FILUSDT', 'TRXUSDT', 'EOSUSDT',
        'ALGOUSDT', 'VETUSDT', 'ICPUSDT', 'THETAUSDT', 'FTMUSDT'
    ]

# 输出配置
class OutputConfig:
    """输出配置类"""
    
    OUTPUT_DIR = 'output'             # 输出目录
    CHART_FORMAT = 'png'             # 图表格式
    REPORT_FORMAT = 'txt'            # 报告格式
    
    # 文件命名模板
    CHART_FILENAME_TEMPLATE = '{symbol}_rsi_analysis.{format}'
    REPORT_FILENAME_TEMPLATE = '{symbol}_rsi_report.{format}'

# 日志配置
class LogConfig:
    """日志配置类"""
    
    LOG_LEVEL = 'INFO'
    LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
    LOG_FILE = 'logs/rsi_analysis.log'
